1. Field of the Invention
The present invention relates to shared-memory multi-processor data processing systems in general, and in particular to shared-memory multi-processor call control (SMMPCC) telephone switching systems. The method of the present invention provides a procedure tor testing shared-memory multi-processor (SMMP) performance by formulating and modifying a given memory contention matrix (MCM), which is generated by collecting traces of memory addresses accessed by so-called subcalls in an SMMPCC. A subcall pair contending for at least one shared memory access address enters a "1" at the respective matrix element. For subcall pairs not sharing any memory address a ".O slashed." is entered.
2. Related Art
A shared-memory multi-processor call control (SMMPCC) system executes several transactions in parallel. Those transactions are parts of the call control and they will be hereafter referred to as subcalls. Executing subcalls may need to access the same address(es) in the shared memory. One of the major problems in a multiprocessor system is in preventing data access collisions due to two or more processors accessing the same data at the same time. To avoid this problem, solutions such as blocking and rollback have been devised, which affect processing power adversely. The problem is exacerbated when there is an increase in the number of multi-processors. In these events, it is desirable to address the issue of shared-memory access and contention which often results from scaling up the number of processors.
An access request for a locked address is blocked, unless it is the requesting subcall who locked the address. A subcall whose request is blocked is immediately rolled back to the state before the execution and restarted later. All addresses locked by the subcall prior to its rollback are released and their contents are restored.
The processor time used by rolled back subcalls does not result in any useful work done and therefore decreases its processing power. The more subcalls are rolled back the less processing time is available for doing useful work. The total real time used by rolled back subcalls, and consequently the processing power of a SMMPCC depends on factors such as: number of processors, level of the load offered to the core, average real time used by rollbacks, and level of potential memory contention in the offered load of subcalls.